home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 2.iso / bin / runDT < prev    next >
Text File  |  1996-11-11  |  8KB  |  330 lines

  1. #!/bin/csh -f
  2.  
  3. set path = (/usr/bsd /bin /usr/bin /usr/sbin /usr/bin/X11)
  4. set err_stat=0
  5.  
  6. #
  7. # update path to also look in the same directory from where 
  8. # this script was executed
  9. #
  10.  
  11. set rmdir = "$1"
  12. setenv DT_utilities `dirname $0`
  13. pushd $DT_utilities >& /dev/null
  14. setenv DT_utilities `pwd`
  15. popd  >& /dev/null
  16. set DT_xconfirm = "$DT_utilities/DT_xconfirm"
  17.  
  18. # defined by viewDT
  19. if (! $?CDROM_ROOT) then
  20.     $DT_xconfirm notviewDT 
  21.     set err_stat=1
  22. endif
  23.  
  24. # figure out name of temporary area
  25. set CD_DATA=$CDROM_ROOT/.DT_Data
  26. if (-f $CD_DATA) then
  27.     setenv DT_WWW_ROOT "`head -1 $CD_DATA`"
  28.     setenv DT_override 0
  29. else 
  30.     set IM_FILE = $CDROM_ROOT/.IM
  31.     if (-f $IM_FILE) then
  32.         set CD_ID = `head -1 $IM_FILE | sed -e 's/^[^"]*"//' -e 's/".*//'`
  33.         if ($CD_ID == 57 || $CD_ID == 58 || $CD_ID == 59 ) then
  34.             setenv DT_WWW_ROOT ".www_6.0"
  35.             setenv DT_override 1
  36.         else if ($CD_ID == 221 || $CD_ID == 222 || $CD_ID == 223 ) then
  37.             setenv DT_WWW_ROOT ".www_fcd96"
  38.             setenv DT_override 2
  39.         else
  40.             $DT_xconfirm error "Not Developer Toolbox 6.0 or later"
  41.         endif
  42.     else
  43.         $DT_xconfirm error "Not a Developer Toolbox 6.0 CD or later"
  44.     endif
  45. endif
  46.  
  47. # create temporary area in home directory
  48. if ($?HOME != 1) then
  49.     $DT_xconfirm nohome
  50.     if ("$rmdir" != "") rm -rf $rmdir
  51.     exit 0
  52. endif
  53. if ( ! -e $HOME/$DT_WWW_ROOT ) then
  54.     mkdir -p $HOME/$DT_WWW_ROOT
  55.     set DT_made = 1
  56. endif
  57.  
  58. # Make sure .DT_Data is correctly defined in the temporary area
  59. set DT_DATA=$HOME/$DT_WWW_ROOT/.DT_Data
  60. switch ($DT_override)
  61.     case 0:
  62.         cp $CD_DATA $DT_DATA
  63.         breaksw
  64.     case 1:
  65.         echo "$DT_WWW_ROOT\n3\n57 58 59\n0\n\nDT 6.0" > $DT_DATA
  66.         echo "Developer Toolbox 6.0" >> $DT_DATA
  67.         echo "Developer Toolbox v 6.0 CD set\ntoolbox/" >> $DT_DATA
  68.         echo "-geometry 800x900" >> $DT_DATA
  69.         breaksw
  70.     case 2:
  71.         echo "$DT_WWW_ROOT\n3\n221 222 223\n1\nforum\nfcd 96" > $DT_DATA
  72.         echo "Forum '96 Proceedings" >> $DT_DATA
  73.         echo "Developer & Cosmo Forum '96 Proceedings CD set">> $DT_DATA
  74.         echo "toolbox/html/index.html" >> $DT_DATA
  75.         echo "-geometry 800x900" >> $DT_DATA
  76.  
  77.         breaksw
  78. endsw
  79. setenv DT_NUMCD     "`tail  +2 $DT_DATA | head -1`"
  80. setenv DT_BASE_CDs  "`tail  +3 $DT_DATA | head -1`"
  81. setenv DT_NHLPERS   "`tail  +4 $DT_DATA | head -1`"
  82. setenv DT_HELPERS   "`tail  +5 $DT_DATA | head -1`"
  83. setenv DT_SNAME     "`tail  +6 $DT_DATA | head -1`"
  84. setenv DT_NAME      "`tail  +7 $DT_DATA | head -1`"
  85. setenv DT_FNAME     "`tail  +8 $DT_DATA | head -1`"
  86. setenv DT_URL       "`tail  +9 $DT_DATA | head -1`"
  87. setenv DT_VIEW_OPT  "`tail +10 $DT_DATA | head -1`"
  88. setenv DT_util_path "$DT_utilities"
  89. if ($DT_NHLPERS > 0) then
  90.     foreach f ($DT_HELPERS)
  91.         setenv DT_util_path "$DT_util_path $DT_utilities/$f"
  92.     end
  93. endif
  94. if ( -d $CDROM_ROOT/toolbox/searchtools) then
  95.     setenv DT_is_search 1
  96. else
  97.     setenv DT_is_search 0
  98. endif
  99.  
  100. if ($?DT_util_state) then
  101.     set title = "Preparing to view the $DT_FNAME"
  102.     set t2=`echo "$title" | tr '\047\046' 'ab'`
  103.     set dash  = "`echo $t2 | sed -e 's/./-/g'`"
  104.     echo ""
  105.     echo "       $dash"
  106.     echo "       $title"
  107.     echo "       $dash\n\n"
  108. else
  109.     setenv DT_util_state 0
  110. endif
  111. switch ($DT_util_state)
  112.     case 1:
  113.         echo "Toolbox utilities:               $DT_utilities"
  114.         breaksw
  115.     case 2:
  116.         echo "Upgraded Toolbox utilities:      $DT_utilities"
  117.         breaksw
  118.     case 3:
  119.         echo "Installed Toolbox utilities:     $DT_utilities"
  120.         breaksw
  121.     default:
  122.         breaksw
  123. endsw
  124. if ("DT_made" == 1) then
  125.     echo "Found $DT_SNAME WWW environment:    $HOME/$DT_WWW_ROOT"
  126. else
  127.     echo "Creating $DT_SNAME WWW environment: $HOME/$DT_WWW_ROOT"
  128. endif
  129.  
  130. set path = (${DT_utilities} $path)
  131.  
  132. # export some key envars for use by all the other scripts
  133.  
  134. if (`/etc/chkconfig | grep  "network " | sed -e "s/.*network *//"` == "off") then
  135.     set DNS_name = `$DT_utilities/set_names "local"`
  136.     set local_name = "$DNS_name"
  137.     setenv DT_network 0
  138. else
  139.     set DNS_name = `$DT_utilities/set_names "bind nis local"`
  140.     set local_name = `$DT_utilities/set_names "local bind nis"`
  141.     setenv DT_network 1
  142. endif
  143. if ("$DNS_name" != "$local_name") then
  144.     $DT_xconfirm warn "Your host/domain name '$local_name' from /etc/hosts\
  145.         is different from your DNS host/domain name '$DNS_name'\n\
  146.         This will likely cause problems beyond just Toolbox viewing."
  147. endif
  148. switch ($#DNS_name)
  149.     case 0:
  150.         setenv  DT_hostname ""
  151.         setenv  DT_domain ""
  152.         breaksw
  153.     case 1:
  154.         setenv  DT_hostname "$DNS_name[1]"
  155.         setenv  DT_domain ""
  156.         breaksw
  157.     case 2:
  158.         setenv  DT_hostname "$DNS_name[1]"
  159.         setenv  DT_domain "$DNS_name[2]"
  160.         breaksw
  161. endsw
  162.  
  163. #
  164. # make sure necessary prerequsites are present
  165. #
  166.  
  167. $DT_utilities/perl_check
  168. if ($status != 0) exit
  169.  
  170. #
  171. # make sure that this script is not invoked by cd'ing into the
  172. # CDROM tree
  173. # if so, CD ejection/cleanup will not be possible
  174. #
  175.  
  176. amIOnCDROMTree
  177.  
  178. if ($status == 1) then
  179.     set cdir = `pwd`
  180.     $DT_xconfirm error "The current directory ($cdir) appears to be within the CDROM directory.\
  181.     Thus, you would not be able to eject the CD.\
  182.     Please re-run viewDT from another directory."
  183.     set err_stat=1
  184. endif
  185.  
  186. #
  187. # exit if any errors in previous checks
  188. #
  189. if ($err_stat == 1) then
  190.     if ("$rmdir" != "") rm -rf $rmdir
  191.     exit 0
  192. endif
  193.  
  194. #
  195. # put up the front end
  196. #
  197.  
  198. set reply = ' '
  199.  
  200. set serverInstalled     = 0
  201. set serverStarted       = 0
  202. set clientStarted       = 0
  203. set serverStopped       = 0
  204. set serverUninstalled   = 0
  205.  
  206. set httpServerStatus    = Not_Running
  207. set okServerStatus      = Not_Running
  208. set view_default = select
  209.  
  210. while ($reply != Quit) 
  211.  
  212.  
  213.     set mesg = "Please select one of the following options :\n[Help] :      On line Help\n[View] :      View $DT_NAME\n[Quit] :       Exit this session.\n-----------------------------\nhttp server status : $httpServerStatus\nOK  server status : $okServerStatus"
  214.     set reply = `$DT_xconfirm $view_default "$mesg"`
  215.     set view_default = select_again
  216.  
  217.  
  218. #
  219. #   check the response from confirm
  220. #
  221.  
  222.     switch ($reply)
  223.  
  224.     case Help :
  225.         xwsh -hold -title "viewDT Help" -icontitle "viewDT Help" -e cat $DT_utilities/helpfile
  226.         breaksw
  227.  
  228.     case View :
  229.  
  230.     if ($serverInstalled == 0) then
  231.             installServer
  232.             set serverInstalled = $status
  233.     
  234.             if ( $serverInstalled == 1 ) then 
  235.                 startServer
  236.                 set serverStarted = $status
  237.             else if ($serverInstalled == 2) then
  238.                 # server has been installed and started
  239.                 set serverStarted = 1
  240.             endif
  241.     
  242.             if ( $serverInstalled == 1 && $serverStarted == 1) then
  243.         set port = `cat $HOME/$DT_WWW_ROOT/logs/httpd.port`
  244.         set httpServerStatus = "Running on port $port"
  245.             else if ($serverInstalled == 0) then
  246.         $DT_xconfirm error "Server installation failed." 
  247.             if ("$rmdir" != "") rm -rf $rmdir
  248.                 exit 0
  249.             else if ($serverStarted == 0) then
  250.         $DT_xconfirm error "Cannot start server."
  251.             if ("$rmdir" != "") rm -rf $rmdir
  252.                 exit 0
  253.             endif
  254.     
  255.         #
  256.         # starting OK server
  257.         #
  258.  
  259.     if ($DT_is_search) then
  260.         startOKServer
  261.         if ( $status == 0 ) then 
  262.             $DT_xconfirm error "Cannot start dt_oksvr (Search Server)."
  263.             if ("$rmdir" != "") rm -rf $rmdir
  264.             exit 0
  265.         endif
  266.         set port = `cat $HOME/$DT_WWW_ROOT/logs/oksrv.port`
  267.         set okServerStatus = "Running on port $port"
  268.     endif
  269.  
  270.     endif
  271.  
  272.         startClient
  273.         set clientStarted = $status
  274.         if ($clientStarted != 1) then
  275.         $DT_xconfirm error "Cannot start netscape."
  276.         if ("$rmdir" != "") rm -rf $rmdir
  277.             exit 0
  278.         endif
  279.     breaksw
  280.             
  281.     case Quit :
  282.        
  283.         isServerRunning
  284.  
  285.         if ($status == 1) then
  286.         #
  287.         # stopping OK server
  288.         #
  289.         
  290.         if ($DT_is_search) stopOKServer
  291.  
  292.         #
  293.         # now stop the http server
  294.         # 
  295.         stopServer
  296.         set serverStopped = $status
  297.  
  298.         if ( $serverStopped != 0 ) then
  299.             unInstallServer
  300.             set serverUninstalled = $status
  301.         endif
  302.         
  303.         if ( $serverStopped == 1 && $serverUninstalled == 1) then
  304.             # if everything hunki dori, dont popup xconfirm
  305.             echo "httpd server:                    uninstalled"
  306.         else if ($serverStopped == 0) then
  307.             $DT_xconfirm error "Cannot stop httpd server."
  308.             if ("$rmdir" != "") rm -rf $rmdir
  309.             exit 0
  310.         else if ( $serverUninstalled == 0) then
  311.             $DT_xconfirm error "Cannot uninstall httpd server."
  312.             if ("$rmdir" != "") rm -rf $rmdir
  313.             exit 0
  314.         endif
  315.     
  316.         endif
  317.     breaksw
  318.  
  319.     default :
  320.         breaksw
  321.     endsw # switch
  322. end  # while
  323.  
  324. if ("$rmdir" != "") then
  325.     rm -rf $rmdir
  326.     echo "Toolbox utilities:               removed"
  327. endif
  328. echo "\nSee ya\n"
  329. exit 1
  330.